package ZmiennaLingwistyczna;

import java.util.Iterator;

import Narzedzia.ListaElementow;
import PodsumowaniaLingwistyczne.Kwantyfikator;
import PrzestrzenCiagla.CiaglyZbiorRozmyty;

public class ZmiennaLingwistyczna {

	private String nazwa;
	private ListaElementow<WartoscLingwistyczna> wartosci;
	
	
	public ZmiennaLingwistyczna(String nazwa,
			ListaElementow<WartoscLingwistyczna> wartosci) {
		super();
		this.nazwa = nazwa;
		this.wartosci = wartosci;
	}


	public ZmiennaLingwistyczna(String nazwa) {
		super();
		this.nazwa = nazwa;
		this.wartosci = new ListaElementow<WartoscLingwistyczna>();
	}


	public String getNazwa() {
		return nazwa;
	}


	public ListaElementow<WartoscLingwistyczna> getWartosci() {
		return wartosci;
	}
	
	public boolean dodajWartosc(WartoscLingwistyczna nowaWartosc){
		return wartosci.add(nowaWartosc);
	}
	
	public boolean dodajWartosc(String etykieta, CiaglyZbiorRozmyty zbior){
		return wartosci.add(new WartoscLingwistyczna(etykieta, zbior));
	}
	
	public boolean usunWartosc(Kwantyfikator wartosc){
		return wartosci.remove(wartosc);
	}
	
	public boolean usunWartosc(String etykieta){
		Iterator<WartoscLingwistyczna> iterator = wartosci.iterator();
		while(iterator.hasNext()){
			WartoscLingwistyczna wartosc = iterator.next();
			if(wartosc.getEtykieta().compareTo(etykieta) == 0){
				return wartosci.remove(wartosc);
			}
		}
		return false;
	}
	
	
	
	
	
}
